1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package com.google.common.collect.testing.features;
18
19 import com.google.common.annotations.GwtCompatible;
20 import com.google.common.collect.testing.Helpers;
21
22 import java.lang.annotation.Inherited;
23 import java.lang.annotation.Retention;
24 import java.lang.annotation.RetentionPolicy;
25 import java.util.Set;
26
27
28
29
30
31
32
33 @SuppressWarnings("unchecked")
34 @GwtCompatible
35 public enum SetFeature implements Feature<Set> {
36 GENERAL_PURPOSE(
37 CollectionFeature.GENERAL_PURPOSE
38 );
39
40 private final Set<Feature<? super Set>> implied;
41
42 SetFeature(Feature<? super Set> ... implied) {
43 this.implied = Helpers.copyToSet(implied);
44 }
45
46 @Override
47 public Set<Feature<? super Set>> getImpliedFeatures() {
48 return implied;
49 }
50
51 @Retention(RetentionPolicy.RUNTIME)
52 @Inherited
53 @TesterAnnotation
54 public @interface Require {
55 public abstract SetFeature[] value() default {};
56 public abstract SetFeature[] absent() default {};
57 }
58 }